package com.wisewin.pose.util.wechatOffice;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;

import java.util.Arrays;

public class SHA1 {
    /**
     * 用 SHA1 算法生成安全签名
     *
     * @param token     token
     * @param timestamp 时间戳
     * @param nonce     随机字符串
     * @param encrypt   密文
     * @return 安全签名
     */
    public static String getSHA1(String token, String timestamp, String nonce, String encrypt) {
        if (StrUtil.hasBlank(token, timestamp, nonce, encrypt)) {
            throw new IllegalArgumentException("非法请求参数，有部分参数为空 : ");
        }

        String[] strArr = {token, timestamp, nonce, encrypt};
        Arrays.sort(strArr);
        StringBuilder builder = new StringBuilder();
        for (String a : strArr) {
            builder.append(a);
        }

        return SecureUtil.sha1(builder.toString());
    }
}